// pages/login/login.js
import { showToast } from '../../utils/showToast'
import request from '../../utils/request'
import {setTokenStorage, setUserInfoStorage, getToken, getUserInfo} from '../../utils/localCache'

Page({

  /**
   * 页面的初始数据
   */
  data: {
    phone: '18238286796', //手机号
    password: 'why577457717', // 密码
    typepassword: '请输入密码', // 默认显示
    typephone: '请输入11位手机号',
    phoneStype: 'font-size: 24rpx;', // 提示样式
    passwordStype: 'font-size: 24rpx;'
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
  },
  async getFrom() {
    let { phone, password } = this.data

    // 校验手机号是否为空
    if (!phone) {
      this.setData({ typephone: "手机号不能为空!", phoneStype: 'color:red; font-size: 24rpx;' })
      if (!password) {
        this.setData({ typepassword: "密码不能为空!", passwordStype: 'color:red; font-size: 24rpx;' })
        showToast('手机号密码为空!', '../../static/login/warning.png')
        return
      }
      showToast('手机号不能为空!', '../../static/login/warning.png')
      return
    }

    // 校验手机号是否合法
    if (!(/^1(3\d|4[5-9]|5[0-35-9]|6[567]|7[0-8]|8\d|9[0-35-9])\d{8}$/.test(phone))) {
      wx.showToast({
        title: '手机号不合法！',
        icon: 'error',
        image: '../../static/login/错误.png'
      })
      return
    }

    // 校验密码是否为空
    if (!password) {
      this.setData({ typepassword: "密码不能为空!", passwordStype: 'color:red; font-size: 24rpx;' })
      showToast('密码不能为空!', '../../static/login/warning.png')
      return
    }

    const res = await request('/login/cellphone', { phone, password, isCookie : true  })
    if (res.code !== 200) {
      showToast('手机或密码错误', '../../static/login/错误.png')
      return
    }
   await setTokenStorage(res.token) // 设置用户token
   await setUserInfoStorage(res.profile) // 设置用户信息
   
   wx.reLaunch({
     url:'/pages/index/index', 
     success: () => {
      showToast('欢迎回来', '../../static/login/欢迎页.png')
     }
   })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})